﻿' ----------------------------------------------------------------------------------
' Microsoft Developer & Platform Evangelism
' 
' Copyright (c) Microsoft Corporation. All rights reserved.
' 
' THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, 
' EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES 
' OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' ----------------------------------------------------------------------------------
' The example companies, organizations, products, domain names,
' e-mail addresses, logos, people, places, and events depicted
' herein are fictitious.  No association with any real company,
' organization, product, domain name, email address, logo, person,
' places, or events is intended or should be inferred.
' ----------------------------------------------------------------------------------

Namespace UserAccountWrappers

    Public Interface IMembershipService
        ReadOnly Property MinPasswordLength() As Integer

        Function ValidateUser(ByVal userName As String, ByVal password As String) As Boolean

        Function CreateUser(ByVal userName As String, ByVal password As String, ByVal email As String) As MembershipCreateStatus

        Function ChangePassword(ByVal userName As String, ByVal oldPassword As String, ByVal newPassword As String) As Boolean

        Function GetUserProfile(ByVal userName As String) As MembershipUser

        Function GetUser(ByVal userName As String) As MembershipUser

        Function GetUserByProviderUserKey(ByVal providerKey As Object) As MembershipUser

        Function CreateUser(ByVal userName As String, ByVal password As String, ByVal email As String, ByVal passwordQuestion As String, ByVal passwordAnswer As String, ByVal isApproved As Boolean, ByVal providerUserKey As Object, ByRef status As MembershipCreateStatus) As MembershipUser

        Function GetAllUsers() As MembershipUserCollection
    End Interface
End Namespace